﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using System.Runtime.Serialization.Formatters.Binary;

namespace Hi_Baidu.User.Serializable
{
    /// <summary>
    ///     提供了不加密的可序列化类保存的基本操作方法
    /// </summary>
    [Serializable]
    public class NormalSerializable : Serializable
    {
        /// <summary>
        ///     提供了不加密的可序列化类保存的基本操作方法
        /// </summary>
        /// <param name="Key" type="string">
        ///     <para>
        ///         唯一标示
        ///     </para>
        /// </param>
        /// <param name="IsEncrypt" type="bool">
        ///     <para>
        ///         加密标示
        ///     </para>
        /// </param>
        public NormalSerializable(String Key, bool IsEncrypt)
            : base(Key, IsEncrypt)
        {
        }

        public override bool Save(string FilePath)
        {
            //如果文件存在，则删除文件
            if (File.Exists(FilePath))
            {
                File.Delete(FilePath);
            }
            try
            {
                //创建
                using (FileStream FS = new FileStream(FilePath, FileMode.Create))
                {
                    BinaryFormatter BF = new BinaryFormatter();
                    BF.Serialize(FS, this);
                    return true;
                }
            }
            catch
            {
                return false;
            }
        }
    }
}
